草庐IT

Flutter:ClipOval Clipper 高度

全部标签

flutter的setState详细分析以及性能优化

Flutter的setState()方法是用于更新widget状态的。在Flutter中,widget通常被描述为不可变的对象,当widget的状态发生改变时,Flutter会创建一个新的widget,并将其与之前的widget进行比较,然后进行重建。因此,使用setState()方法可以告诉Flutter重新构建当前widget的子树。setState()方法的源码非常简单,它只是将一个回调函数放入队列中,以便在下一帧中调用它,如下所示:voidsetState(VoidCallbackfn){assert(fn!=null);assert((){if(_debugLifecycleStat

android - 相同高度的 View 对于顶 View 和底 View 看起来不同

最近,我被一个问题惊呆了。在我的android手机上,具有相同高度的列表或ScrollView的元素具有与其定位相关的不同阴影。例如,屏幕顶部的View有一个小的光影,每当屏幕底部的View有更暗和更强的阴影。以下是GoogleKeep应用程序的屏幕截图:所以,我认为这是因为GoogleKeep应用程序。也许谷歌的人决定在他们的应用程序中使用阴影来做这个技巧。因此,我创建了一个示例应用程序。我的布局:我的风格:@color/colorPrimary@color/colorPrimaryDark@color/colorAccent@color/colorAccent4dpcenter16

Flutter 绘制番外 | 将你的 Canvas 绘制保存为图片

theme:cyanosis前言光阴似箭,《Flutter绘制指南-妙笔生花》转眼间已经发布两年半了,不知道各位练习得怎么样。有不少朋友问过如何将Canvas绘制的内容保存为图片,最近在做的东西刚好涉及了这块,通过本文来分享一下。提到保存图片,很多人可能会想到RepaintBoundary,但它使用起来有点繁琐,同时也存在一些局限性。而且Canvas有更灵活的生成图片方式,没有必要使用RepaintBoundary,下面一起来看看吧!1.自己创建Canvas对象如果我问:如何得到Canvas对象,来进行绘制操作?可能绝大多数朋友都知道继承自CustomPainter,在paint回调中获取Ca

android - 在项目添加时动态增加 recyclerview 的高度

Displaypic在我的应用程序中,我想动态增加回收器View的高度。当我在投诉下添加新项目时,回收站View的高度应该增加。有办法吗?请帮我解决一下这个。提前致谢。 最佳答案 遇到同样的问题,我在LinearLayout中使用RecyclerView和wrap_content,我将LinearLayout更改为RelativeLayout并根据子项设置RecyclerView高度。 关于android-在项目添加时动态增加recyclerview的高度,我们在StackOverflo

flutter开发实战-应用更新apk下载、安装apk、启动应用实现

flutter开发实战-应用更新apk下载、安装apk、启动应用实现在开发过程中,经常遇到需要更新下载新版本的apk文件,之后进行应用更新apk下载、安装apk、启动应用。我们在flutter工程中实现下载apk,判断当前版本与需要更新安装的版本进行比对判断,通过判断VersionCode来确定下载新版版APK一、应用更新apk下载当应用需要更新的时候,我们需要判断版本号,在flutter工程中versionCode是工程中的pubspec.yaml中的version确定的。如version:1.0.0+1version为1.0.0,versionCode为1需要我们获取接口,需要判断的就是v

flutter 实战 之 GridView

GridView和ListView是Flutter中用于构建滚动列表的两种常见小部件。它们之间的主要区别在于它们的布局方式和如何显示其子小部件。布局方式:ListView是单列或单行的滚动列表,它垂直或水平滚动。可以根据需要垂直排列或水平排列子小部件。GridView是一个二维网格列表,可以在垂直和水平方向上滚动。子小部件以行和列的形式进行排列。子小部件排列:ListView的子小部件是单列(或单行)排列的,依次从顶部到底部(或从左到右)排列。它适合于在一个方向上展示大量垂直或水平排列的数据。GridView的子小部件是以二维网格的形式排列的,可以按行或列展示。根据不同的构造函数,可以设置子小

java - Android:如何找到屏幕的宽度和高度?

我试图找到屏幕的宽度和高度,但我尝试过的所有方法都不适用于我创建的类,我的代码在下面。有人知道怎么找吗?我不能使用我在下面尝试的方式,因为.getWidth()已被弃用?publicclassCrate{publicintacrossCrate;publicintupDownCrate;ContexttheContext;WindowManagerwm=(WindowManager)theContext.getSystemService(Context.WINDOW_SERVICE);Displaydisplay=wm.getDefaultDisplay();intwidth=disp

java - ScrollView wrap_content 高度内的 RecyclerView 未按预期工作

我在ScrollView中嵌入了一个RecyclerView。这是完整的布局:问题是——尽管我已将RecyclerView的layout_height设置为wrap_content,但它的高度部分包裹了内容,即理想情况下在wrap_content之后>它的高度应该是150dp但目前是70dp。另一个有趣的场景是——如果我将linearyLayoutOtherProductDetails移动到recyclerViewProductDetails下面,那么它会将RecyclerView高度准确地显示为150dp。似乎当RecyclerView加载到布局上时,它正在根据当前在布局上可见的项目

flutter中数据库(Drift)的使用

前言Flutter目前比较好用的sqlite数据库orm框架就是drift(以前叫作moor),由于dart语言不支持反射,这个框架使用了dart代码生成器,自动生成代码。这个数据库框架的优点是支持全平台使用,此框架通过使用datr语言的ffi功能(相当于JAVA的jni)来调用sqlite动态库实现数据库操作,Web平台是通过wasm(浏览器可以运行的二进制文件,可由C、C++、rust、go等语言编译而来)来调用sqlite,Web平台的sqlite数据库文件则通过indexeddb虚拟文件系统保存。官方文档https://drift.simonbinder.eu/docs/platfor

封装flutter webview页面

例如在flutter里面跳转百度页面需要安装webview_flutterwebview_page.dartimport'package:flutter/material.dart';import'package:webview_flutter/webview_flutter.dart';classMyWebViewextendsStatefulWidget{constMyWebView({super.key,requiredthis.webViewUrl,this.webViewTitle=''});finalStringwebViewUrl;finalStringwebViewTitle;